Some PLCs are configured with a base unit being connected with one or more functional units. Functional units include a CPU unit for exercising control over the entire PLC, an analog input/output unit for performing input/output with an apparatus to be controlled, a network unit as a communication device for performing communication with other PLCs, and the like. The user can combine his/her desired functional units to construct a PLC. The base unit has a built-in bus, and a plurality of functional units mounted on the base unit can transmit/receive data to/from each other through the bus.
An analog input/output unit exchanges data with a CPU unit by use of a shared memory that is readable and writable by the CPU unit. It should be appreciated that an analog input/output unit collectively refer to an analog input unit which performs A/D conversion on an analog value inputted from an external device to generate a digital value to be passed to a CPU unit and write the generated digital value into a shared memory, and an analog output unit which performs D/A conversion on a digital value generated by a CPU unit and written into a shared memory to generate an analog value to be outputted to an external device.
The user can mount a plurality of analog input/output units on the base unit to increase the number of analog inputs and outputs (for example, see Patent Literature 1 and Patent Literature 2).